package com.example.mybatis.config;

import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
 * Copyright(C), 2020-2021, AmbroseCdMeng
 * FileName:    PageHelperConfig
 * Author:      AmbroseCdMeng
 * Date:        2021/1/2915:49
 * Description: 创建分页配置类来实现分页配置
 * History:
 * <author>     <time>      <version>       <desc>
 * 作者姓名     修改时间        版本号           描述
 */

// 表明该类是一个配置类
@Configuration
public class PageHelperConfig {
    // 表示启动 PageHelper 拦截器
    @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        // offsetAsPageNum 为 true 时，将 RowBounds 的第一个参数 offset 当成 pageNum（页码）使用
        p.setProperty("offsetAsPageNum", "true");
        // rowBoundsWithCount 为 true 时，使用 RowBounds 分页会进行 count 查询
        p.setProperty("rowBoundsWithCount", "true");
        // reasonable 为 true 时，启用合理化，如果 pageNum < 1，则会查询第一页；如果 pageNum > pages， 则会查询最后一页
        p.setProperty("reasonable", "true");
        pageHelper.setProperties(p);
        return pageHelper;
    }
}
